package com.zhuo.project.k3.service.impl;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.zhuo.common.utils.SecurityUtils;
import com.zhuo.project.k3.domain.ZzMaterialUnit;
import com.zhuo.project.k3.mapper.ZzMaterialUnitMapper;
import com.zhuo.project.k3.service.IZzMaterialUnitService;

/**
 * 卓正计量单位信息Service业务层处理
 *
 * @author ruoyi
 * @date 2020-03-18
 */
@Service
public class ZzMaterialUnitServiceImpl implements IZzMaterialUnitService {
    @Autowired
    private ZzMaterialUnitMapper zzMaterialUnitMapper;

    /**
     * 查询卓正计量单位信息
     *
     * @param id 卓正计量单位信息ID
     * @return 卓正计量单位信息
     */
    @Override
    public ZzMaterialUnit selectZzMaterialUnitById(Long id) {
        return zzMaterialUnitMapper.selectZzMaterialUnitById(id);
    }

    /**
     * 查询卓正计量单位信息列表
     *
     * @param zzMaterialUnit 卓正计量单位信息
     * @return 卓正计量单位信息
     */
    @Override
    public List<ZzMaterialUnit> selectZzMaterialUnitList(ZzMaterialUnit zzMaterialUnit) {
        return zzMaterialUnitMapper.selectZzMaterialUnitList(zzMaterialUnit);
    }

    /**
     * 新增卓正计量单位信息
     *
     * @param zzMaterialUnit 卓正计量单位信息
     * @return 结果
     */
    @Override
    public int insertZzMaterialUnit(ZzMaterialUnit zzMaterialUnit) {
        ZzMaterialUnit filter = new ZzMaterialUnit();
        filter.setFnumber(zzMaterialUnit.getFnumber());
        List<ZzMaterialUnit> filterList = zzMaterialUnitMapper.selectZzMaterialUnitList(filter);
        if (null != filterList && filterList.size() > 0) {
            Long id = filterList.get(0).getId();
            zzMaterialUnit.setId(id);
            zzMaterialUnit.setUpdateTime(new Date());
            zzMaterialUnit.setUpdateBy(SecurityUtils.getUsername());
            return zzMaterialUnitMapper.updateZzMaterialUnit(zzMaterialUnit);
        }
        zzMaterialUnit.setCreateBy(SecurityUtils.getUsername());
        zzMaterialUnit.setCreateTime(new Date());
        return zzMaterialUnitMapper.insertZzMaterialUnit(zzMaterialUnit);
    }

    /**
     * 修改卓正计量单位信息
     *
     * @param zzMaterialUnit 卓正计量单位信息
     * @return 结果
     */
    @Override
    public int updateZzMaterialUnit(ZzMaterialUnit zzMaterialUnit) {
        return zzMaterialUnitMapper.updateZzMaterialUnit(zzMaterialUnit);
    }

    /**
     * 批量删除卓正计量单位信息
     *
     * @param ids 需要删除的卓正计量单位信息ID
     * @return 结果
     */
    @Override
    public int deleteZzMaterialUnitByIds(Long[] ids) {
        return zzMaterialUnitMapper.deleteZzMaterialUnitByIds(ids);
    }

    /**
     * 删除卓正计量单位信息信息
     *
     * @param id 卓正计量单位信息ID
     * @return 结果
     */
    @Override
    public int deleteZzMaterialUnitById(Long id) {
        return zzMaterialUnitMapper.deleteZzMaterialUnitById(id);
    }
}
